package com.example.homework.homework04;

public class Test {
    public static void main(String[] args) {
        // 面向对象思想设计一个电脑对象，可以使用鼠标和键盘。鼠标、键盘要求实现USB接口，实现接入、拔出功能，并具备独有功能
        // 鼠标有单击功能（ click ），键盘有输入功能（input）
        /*
        1.创建接口类USB,并且定义连接连接方法设备的抽象方法connect()和退出设备的抽象方法exit()
        2.定义键盘类KeyBoard去实现USB接口，重写里面的抽象方法以及定义特有方法input()
        3.定义鼠标类Mouse去实现USB接口，重写里面的抽象方法以及定义特有方法click()
        4.定义电脑类Computer，定义方法use()可以接受USB的对象
            4.1在use()方法中调用connect()方法
            4.2使用instanceof判断接收到的对象是否为KeyBoard类型，如果是，则强转为KeyBoard类型，调用input方法
            4.3使用instanceof判断接收到的对象是否为Mouse类型，如果是，则强转为Mouse对象，调用click()方法
            4.4在use()方法中调用exit()方法
        5.定义测试，创建Mouse对象，KeyBoard对象以及Computer对象。调用Computer对象的use()方法，分别传入Mouse对象和KeyBoard对象
         */
        Mouse mouse = new Mouse();
        KeyBoard keyBoard = new KeyBoard();
        Computer computer = new Computer();

        computer.use(mouse);
        System.out.println("-------------------");
        computer.use(keyBoard);
    }
}
